<?php

namespace nabu\libs\utils;

defined('NABU') || exit;

// Colección de herramientas.
class utils {
  // Valida si existe una sesión de usuario.
  public static function session_exists() {
    if (empty($_SESSION['user']) || !is_array($_SESSION['user']))
      return false;

    if (empty($_SESSION['user']['id']) || empty($_SESSION['user']['username'])
        || empty($_SESSION['user']['role']))
      return false;

    return true;
  }

  // Escapa un string.
  public static function str_escape(string $str) {
    return htmlentities($str, ENT_COMPAT | ENT_HTML5, 'UTF-8');
  }

  // Genera una URL dado un string.
  public static function url_slug(string $str) {
    return date('Ymd') . '-' . preg_replace('/[^A-Za-z0-9-]+/', '-', strtolower($str));
  }

  // Valida si la sesión de un usuario es de tipo súper usuario o moderador.
  public static function is_admin() {
    if (!self::session_exists())
      return false;

    if ($_SESSION['user']['role'] == 1 || $_SESSION['user']['role'] == 2)
      return true;

    return false;
  }
}
